package com.ofsoft.weixin.mp.api;

/**
 * 模板消息接口
 * 
 * @author OF
 * @date 2018年07月21日
 */
public class TemplateApi extends ApiBase {
	private static String setIndustryUrl = "https://api.weixin.qq.com/cgi-bin/template/api_set_industry?access_token=";

	/**
	 * 设置所属行业
	 * 
	 * @param industryId1
	 *            公众号模板消息所属行业编号 主行业
	 * @param industryId2
	 *            公众号模板消息所属行业编号 副行业
	 * @return ApiResponse
	 */
	public static ApiResponse setIndustry(String industryId1, String industryId2) {
		ApiRequest apiRequest = new ApiRequest().set("industry_id1",
				industryId1).set("industry_id2", industryId2);
		return sendPost(setIndustryUrl + AccessTokenConfig.getAccessToken(),
				apiRequest);
	}

	private static String getIndustryUrl = "https://api.weixin.qq.com/cgi-bin/template/get_industry?access_token=";

	/**
	 * 获取设置的行业信息
	 * 
	 * @return ApiResponse
	 */
	public static ApiResponse getIndustry() {
		return sendGet(getIndustryUrl + AccessTokenConfig.getAccessToken());
	}

	private static String getTemplateId = "https://api.weixin.qq.com/cgi-bin/template/api_add_template?access_token=";

	/**
	 * 设置所属行业
	 * 
	 * @param templateIdShort
	 *            模板库中模板的编号，有“TM**”和“OPENTMTM**”等形式
	 * @return ApiResponse
	 */
	public static ApiResponse getTemplateId(String templateIdShort) {
		ApiRequest apiRequest = new ApiRequest().set("template_id_short",
				templateIdShort);
		return sendPost(getTemplateId + AccessTokenConfig.getAccessToken(),
				apiRequest);
	}

	private static String getAllTemplate = "https://api.weixin.qq.com/cgi-bin/template/get_all_private_template?access_token=";

	/**
	 * 获取模板列表
	 * 
	 * @return ApiResponse
	 */
	public static ApiResponse getAllTemplate() {
		return sendGet(getAllTemplate + AccessTokenConfig.getAccessToken());
	}

	private static String delTemplate = "https://api.weixin.qq.com/cgi-bin/template/del_private_template?access_token=";

	/**
	 * 删除模板
	 * 
	 * @param templateId
	 *            模板ID
	 * @return ApiResponse
	 */
	public static ApiResponse delTemplate(String templateId) {
		ApiRequest apiRequest = new ApiRequest().set("template_id", templateId);
		return sendPost(delTemplate + AccessTokenConfig.getAccessToken(),
				apiRequest);
	}

	private static String sendUrl = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=";

	/**
	 * 发送模板消息
	 * 
	 * @param json
	 *            json字符串
	 * @return ApiResponse
	 */
	public static ApiResponse send(String json) {
		return sendPost(sendUrl + AccessTokenConfig.getAccessToken(), json);
	}
}
